package com.koron.order.linepatrol.base.bean.po;


import com.koron.bean.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 巡视工单-基础信息(Patrol)实体类
 *
 * @author zhouj
 * @since 2021-10-26 15:20:54
 */
@Data
@ApiModel("巡视工单-基础信息")
public class PatrolPo extends BaseBean implements Serializable {

    private static final long serialVersionUID = 956596061926143831L;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "工单编号")
    private String code;

    @ApiModelProperty(value = "计划id")
    private String planId;

    @ApiModelProperty(value = "计划编号")
    private String planCode;

    /**
     * 计划类型：定期、特殊 plan_patrol_category
     */
    @ApiModelProperty("计划类型：定期、特殊 plan_patrol_category")
    private String planCategory;

    /**
     * 巡视方式：现场巡视、视频巡视 plan_patrol_way
     */
    @ApiModelProperty("巡视方式：现场巡视、视频巡视 plan_patrol_way")
    private String planPatrolWay;

    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "所属单位id")
    private String belongDeptId;

    @ApiModelProperty(value = "所属单位名称")
    private String belongDeptName;

    @ApiModelProperty(value = "巡视单位id")
    private String patrolDeptId;

    @ApiModelProperty(value = "巡视单位名称")
    private String patrolDeptName;

    @ApiModelProperty(value = "巡视单位类型")
    private String patrolDeptType;

    @ApiModelProperty(value = "人员安排方式")
    private String arrangement;

    @ApiModelProperty(value = "值班地点id")
    private String locationId;

    @ApiModelProperty(value = "值班地点")
    private String locationName;

    @ApiModelProperty(value = "完成时必须签名")
    private Integer mustSign;

    @ApiModelProperty(value = "签到方式")
    private String arriveWay;

    @ApiModelProperty(value = "巡视类别")
    private String patrolType;

    @ApiModelProperty(value = "计划开始时间")
    private Date planStartTime;

    @ApiModelProperty(value = "计划结束时间")
    private Date planEndTime;

    @ApiModelProperty(value = "实际开始时间")
    private Date factStartTime;

    @ApiModelProperty(value = "实际结束时间")
    private Date factEndTime;

    @ApiModelProperty(value = "准备工作，0 普通， 1正在完成巡视")
    private String prepare;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "插入标记(默认为0定时插入1)", hidden = true)
    private Integer insertFlag = 0;

    @ApiModelProperty(value = "巡视点数量")
    private Integer pointNum = 0;

    @ApiModelProperty(value = "巡视人员数据")
    private String patrolUsers;

    @ApiModelProperty(value = "工单来源，plan计划创建、other其他工单")
    private String orderSource = "plan";
}
